home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr48 / 386p_200.zip / QUICKFIX.TXT < prev    next >
Text File  |  1995-01-15  |  3KB  |  68 lines

  1. HOW TO QUICKLY MIGRATE TO ANOTHER DOS-EXTENDER:
  2.  
  3. I devenloped the 386Power DOS-EXTENDER for myself
  4. so i suited it to my needs, and updated and improved it gradually
  5. (nearly just for fun).
  6. The current release is improved if compared to the previous ones
  7. but still has its limitation.
  8. My main interests are in graphics/audio and game programming
  9. not into coding dos-extenders.
  10. Because of this i made the current "dos-extender interface"
  11. designed to be quickly portable.
  12.  
  13. The XGE library ( that big pack of useful routines for graphics
  14. and "gaming") can be quickly migrated to ANOTHER dos-extender, let's see how:
  15. ALL the library code assumes is that there are TWO code segments
  16. a 16bit segment called code16 (used directly just by the 386timer
  17. and 386keyb code)
  18. and a big 32bit segment called code32.
  19. STARTING from code32 offset zero there is a "table" of pointers and variables
  20. that are the "real" dos-extender interface.
  21.  
  22. If you wan to use another dos-extender, just code an "interface" module
  23. that sets up a big 32bit segment called code32 and has the same
  24. "segment head" of the 386Power code32
  25. (the variables and pointers that HAVE to be into the beginning of code32
  26.  are "listed" into the head32.inc header)
  27. (head32.inc contains the "interface definitions" that let EXTERNAL DRIVERS
  28.  to be "linked in" into a 386Powered :) program).
  29.  
  30. Once you do this and add to the "interface" module the routines pointed
  31. by the pointers declared into the "header", you are ok and ready to run.
  32.  
  33. This migration is made easier if you can use a dos-extender with a standard
  34. DPMI interface ("a DPMI server")
  35. If you can do this, you just have "turn on" the DPMI interface
  36. and then jump to the Boot16 label into 386power.asm
  37. [the 386Power starting point]. (
  38. Remember to change the "startup directive" located at the end of 386power.asm
  39. from Boot16 to "what is it".
  40. For example:
  41.  
  42.         Currently you will see at the end of 386Power.asm the following:
  43.                 ....
  44.                 ; Boot16 is program starting point
  45.                 end     Boot16
  46.  
  47.         To make the "DPMI loader" start first, simply do the following:
  48.  
  49.                 dpmi_server_wakeup:
  50.                         call Initialize_external_DPMI_server
  51.                         jmp Boot16
  52.                         .....
  53.                         .....
  54.                         ; dpmi_server_wakeup is "new" starting point
  55.                         end dpmi_server_wake
  56.  
  57. TRAN'S NEWER DOS-EXTENDERS (the newest i know is pmode307.zip and you can
  58. find it in the internet ftp site called x2ftp.oulu.fi)
  59. ARE DPMI SERVERS!!!
  60. So if you prefer Tran's dos-extenders
  61. (after all, Tran is the dos-extender expert) you can migrate to it
  62. by including its code into 386power.asm and adding three lines!!!!
  63. [ Uhm! If i remember well, the irq reflection under VCPI/XSM/"raw 386"
  64.   with Tran's dos-extender DOES NOT automatically reflects IRQs
  65.   from real-mode to protected mode, this will be up to you
  66.   ( using the "callback" functions) ]
  67.  
  68.